/**
 * author:金海宾
 * Date:2017/9/5
 * Time:16:36
 */
import BADJS from 'badjs-report';

// 初始化异常上报组件
BADJS.init({
    id: 1, // 上报 id, 不指定 id 将不上报
    uin: 123, // 指定用户 id, (默认已经读取 qq uin)
    delay: 1000, // 当 combo 为 true 可用，延迟多少毫秒，合并缓冲区中的上报（默认）
    url: '//badjs2.qq.com/badjs', // 指定上报地址
    ignore: [/Script error/i], // 忽略某个错误
    random: 1, // 抽样上报，1~0 之间数值，1为100%上报（默认 1）
    repeat: 5, // 重复上报次数(对于同一个错误超过多少次不上报)
    // 避免出现单个用户同一错误上报过多的情况
    onReport: function(id, errObj) {
    }, // 当上报的时候回调。 id: 上报的 id, errObj: 错误的对象
    submit: null, // 覆盖原来的上报方式，可以自行修改为 post 上报等
    ext: {}, // 扩展属性，后端做扩展处理属性。例如：存在 msid 就会分发到 monitor,
    offlineLog: false, // 是否启离线日志 [默认 false]
    offlineLogExp: 5 // 离线有效时间，默认最近5天
});

import Vue from 'vue';
// 引入element-ui组件
import 'element-ui/lib/theme-chalk/index.css';
import ElementuUI from 'element-ui';
import '../../assets/styles/index.scss';
// 引入样式基本设置
import util from './utils';
import Ajax from './Ajax';
import notice from './message';
import * as vueTypes from './VueTypes';

// 将util Ajax和 elementui 挂在到use对象上面
Vue.prototype.utils = util;
Vue.prototype.req = Ajax;
Vue.prototype.TYPE = vueTypes;

Vue.config.productionTip = process.env.NODE_ENV === 'development';

// 对elementui 弹窗代码进行封装，为了少敲几行代码
Vue.prototype.msg = notice;

// 重置Vue组件当中的data 模型
Vue.prototype.resetData = function() {
    Object.assign(this.$data, this.$options.data());
};

Vue.use(ElementuUI, {
    size: 'medium'
});
// 添加Vue绑定的根源上到页面
let root = document.createElement('div');
root.id = 'app';
document.body.appendChild(root);

export default Vue;
